{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 多项式回归"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "from matplotlib import pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "x = np.random.uniform(-3, 3, size=100)\n",
    "X = x.reshape(-1, 1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "y = 0.5 * x ** 2 + x + 2 + np.random.normal(0, 1, size=100)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x89f4aa2648>"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(x, y)        #x y 之间非线性关系"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None, normalize=False)"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.linear_model import LinearRegression      #线性回归\n",
    "lin_reg = LinearRegression()\n",
    "lin_reg.fit(X, y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "y_predict = lin_reg.predict(X)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x89f6d3ca48>]"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(x, y)\n",
    "plt.plot(x, y_predict, color='red')   # 用直线拟合效果不够好"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 解决方案，添加一个特征"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(100, 1)"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "(X**2).shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "X2 = np.hstack([X, X**2])   #创建一个新的矩阵，100*2 有两个特征"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(100, 2)"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X2.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None, normalize=False)"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "lin_reg2 = LinearRegression()\n",
    "lin_reg2.fit(X2, y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "y_predict2 = lin_reg2.predict(X2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x89f6df1fc8>]"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(x, y)\n",
    "plt.plot(x, y_predict2, color='red')       #这里的x是乱序的，所以会出现下图的效果"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x89f5672a08>]"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(x, y)\n",
    "plt.plot(np.sort(x), y_predict2[np.argsort(x)], color='red') #对x排序，然后y_predict以x对应索引为下标，都要排序"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([0.93534731, 0.46045812])"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "lin_reg2.coef_         #分别为x, x^2 的系数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2.1647474437621503"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "lin_reg2.intercept_     #截距   和生成函数里的 常数项 2 接近"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
